Ear code with alignment mark

ABSTRACT

Alignment mark 5 is printed by printer 30 during the same operation in which bar code 3 is printed. Subsequent alignment is by the optical scanner 32 centering on mark 5. In a specific application a factor relating to the vertical position of scanner 32 to printer 30 is obtained by scanning mark 5 shortly after it is printed. This factor is used to position the scanner 32 to read for errors after a line of code 3 is printed.

DESCRIPTION CROSS-REFERENCE TO RELATED APPLICATION

An application, Ser. No. 198,337, was filed on even date herewith andbearing the same title as this application has Gregory A. Flurry,Michael L. Krieg and David W. Phillips as the joint inventors. That isthe same Gregory A. Flurry who is a joint inventor on this application.That application claims generically the printing of an alignment mark asan incident to the printing of bar code.

TECHNICAL FIELD

This invention relates to bar code symbol applications in connectionwith alignment marks. The bar code is an arbitrary group of lines havingmeaning by their width, spacing or the like when traversed by a scanner.The alignment mark is used to position the scanner in relation to code.

BACKGROUND ART

Bar codes are commonly known in various forms and are characterized bytheir capability of recording information which can be recovered by asingle pass along a line by a scanning device. Typically, bar codes area series of vertical marks which carry information by their varyingwidths, by the varying spacing between marks, or by both.

The dimensions of bar codes in the direction perpendicular to the scanhave significance generally only to assure that the scan observes thecode. Typically, positioning of the scanner can be assured only within acertain range of accuracy and the perpendicular dimension of the barcode must be at least broad enough to assure that the scanner observesthe code when it is positioned anywhere within the range of accuracy.The positioning of the scanner can be so variable that the bar code mustbe quite broad.

To reduce the breadth of bar code and the consequent space used forrecording, it is desirable to improve the precision of positioning thescanner. It is known generally in the scanning art to employ a separatemark as a guide or alignment reference which is sensed by the scannerand from which position the scanner is more precisely positioned withrespect to the code to be sensed.

Where such an alignment mark is preprinted or printed in some manner notintegral with recording the bar code information, such a use of analignment or register mark is believed to be conventional and within thestate of the art. U.S. Pat. No. 3,433,933 to Hardin is exemplary of suchprior art. It teaches a narrow vertical line as an alignment mark, whichis sensed to define a scan line through a column containing horizontalmarks. The alignment mark in the preferred form of the instant inventionis relatively wide. Although no direct alignment occurs off the mark inthe following publication, it is cited because it differs from the citedpatent in that the mark is relatively wide. That publication is thefollowing: "Optical Mark Sensing of Single-Color Documents", by W. B.Plummer, IBM Technical Disclosure Bulletin, Vol. 19, No. 8, January 1977at page 3174.

Other patents similar in use of alignments marks to the Hardin patentcited above could be mentioned, but they are considered less pertinentin that they involve the reading of alphabet symbols and the like. Theinstant subject matter differs fundamentally from known prior art inthat the alignment mark is printed with the printing of the codeinformation. In the preferred mode, rather than being a narrow line, thealignment mark is both substantially wide and thick. With the printingof the alignment mark prior to but with the printer to print bar code,the instant subject matter employs a scanning of the alignment mark todefine a relationship between the printer and the scanner subsequentlyused to position the print head for re-reading printed code for errors.

DISCLOSURE OF THE INVENTION

It is an object of this invention to provide for more precisepositioning of a scanner with respect to bar code information.

It is, similarly, an object of this invention to provide for bar codeprinting which may be short in the direction perpendicular to theintended direction of scan.

In accordance with this invention an alignment mark is printed by theprinter which prints the bar code. In the preferred mode the alignmentmark is substantially wider than one individual bar of the code.

In a specific application of the printing of the mark by the codeprinter, the alignment mark is scanned to determine its apparent centerand a factor relating that to the position of the printer is obtained.Subsequently, after code is printed, the position of the scanner isadjusted by that factor when the printing is read for accuracy shortlyafter it is printed.

BRIEF DISCLOSURE OF THE DRAWINGS

FIG. 1 illustrates an ordinary paper carrying bar code information andan alignment mark.

FIG. 2 is illustrative of the overall system.

FIG. 3a and FIG. 3b are a flow diagram of the compensation factordetermination.

FIG. 4a and FIG. 4b are a flow diagram of the reading sequence employingthe alignment mark.

BEST MODE FOR CARRYING OUT THE INVENTION The Printing System

FIG. 1 shows a paper carrying bar code information 3 which may be inseveral parallel lines of different width as shown. Above that codedinformation is a horizontal alignment mark 5 in accordance with thisinvention, which is a solid rectangular mark printed along with the barcode information 3. The alignment mark is printed by the same printerwhich prints the bar code 3.

FIG. 2 illustrates an operative system, which is under semi-automaticcontrol. The printing elements and control hardware are basicallyconventional. A sheet of paper 20 to be printed upon, which is typicallyordinary letter paper, is mounted against a platen 22, where it is heldby bail 24. Paper 20 is moved longitudinally by platen drive 26, undercontrol of platen stepping control 28.

Paper 20 is traversed horizontally by printer 30, which may bepreferably a ink jet or matrix printer, and by optical scanner 32.Printer 30 and scanner 32 are mounted on a carrier 33 and are movedtogether by carrier drive 34 under control of carrier control 36.

The specific designs of printer 30 and optical scanner 32 form no partof this invention. An ink jet printer of any standard design isinherently well suited to print the solid rectangle of alignment mark 5and the vertical bars of different widths which make up a typical barcode 3. Scanner designs typically incorporate a light source and aphotoconductor in an optical path by which light is trained upon and thereflections are received from a small area being observed. For mostpurposes, only reflections from a limited, pre-defined area are passedto the photoconductor. In the preferred embodiment this is accomplishedby an opaque screen having an opening, which is 30 mils in height and 3mils in width.

The vertical bars 3 and alignment mark 5 are each approximately 68.5mils in height. Platen 22 is stepped in increments of 1/96 inch.Movement of carrier 33 is measured in increments of 1/240 inch, whilethe drive is by a DC motor and uninterrupted. Indexing of platen 22 maybe uninterrupted where movement of more than one increment is directed.When the movement of both platen 22 and carrier 33 is stopped, the finalposition is defined by the number of increments traversed. Suchincremental position systems are well known in graphics and printingsystems, and their details form no part of this invention and will notbe described.

In the preferred embodiment of this invention, position of the paper 20relative to the printer 30 and optical scanner 32 is monitored bystorage in memory of a start position followed by counting of incrementsof indexing both positively and negatively. Although separate countingcircuits and hardware logic could be provided, the preferred embodimentemploys a general purpose microprocessor for control and implementationof the steps involved. This element is shown symbolically in FIG. 2 asalignment control 38. The printer 30 is additionally under the controlof a microprocessor, shown symbolically as graphics control 40, todefine the pattern of printing applied to paper 20. Graphics control 40may be any state-of-the-art system for printing characters andpredefined special symbols such as the alignment mark.

External Inputs

The text to be printed in bar code typically will be the contents ofmagnetic or other memory, shown as text memory 42. Although such textcan be generated contemporaneously with its recording in bar code aswill be described, usually it is generated in a full line or page and isproof read and revised as necessary prior to being taken from memory 42to be printed in bar code.

Finally, FIG. 2 shows illustratively the manual key operations relatedto the subject invention of bar code printing with alignment mark. Theoperator control panel or keyboard 44 is shown illustratively. Loadingof paper 20 on platen 22 may be manual. Where it is automatic, theoperator manually operates the load paper key 50. With paper loaded, themachine will typically go through an automatic scan across the platen 22from left of where paper 20 could be to past the right margin of paper20. The left and right margins of paper 20 are observed by opticalscanner 32 and defined in position and stored in alignment control 38.Alternatively, the paper 20 may simply be loaded at or within predefinedpoints on platen 22 and the location of the edges of paper 20 will thenbe known, predetermined factors in control 38.

Paper 20 may be loaded for use in either of two modes, to print bar code3 or to read bar code 3 from a paper which carries bar code 3 inaccordance with this invention. For printing, paper 20 is typicallyblank, and the operator manually operates print bar code key 52.Information in text memory 42 will then be printed, along with thealignment mark as will be described below. For reading bar code, theoperator manually locates scanner 32 higher than alignment mark 5 andmanually operates read bar code key 54. The printing mode will first bedescribed in detail.

Printing Bar Code

With paper 20 loaded on platen 22, operation of print bar code key 52initiates further activity automatically with the sequence directed byalignment control 38. Initially, carrier 33 is brought to the predefinedleft printing margin by carrier drive 34 controlled by carrier control36. The subsequent sequence is illustrated in the FIG. 3, a flowdiagram. Alignment mark 5, a solid rectangular character 68.5 mils inheight and 2 inches in width is printed by printer 30 and with thepattern defined by graphics control 40 as carrier 33 moves uninterruptedacross the paper 20.

After alignment mark 5 is printed, without operator intervention,optical scanner 32 is centered over mark 5. Carrier 33 is first moved bycontrol 38 upward a predetermined number of increments by platen drive26 through platen stepping control 28. In the specific embodiment drive26 is incremented eight times, each causing a movement of 1/96 inch.Control 38 then directs movement of carrier drive 34 through carriercontrol 36 to a point spaced the predetermined amount from the leftmargin of paper 20 at which the nominal or approximate center of mark 5appears. In this way optical scanner 32 is positioned above alignmentmark 5 without operator intervention.

Paper 20 is then indexed upward by platen drive 26 under steppingcontrol 28. A counter in control 38 is set to zero and each index stepis counted as alignment mark 5 is brought upward toward optical scanner32. This is denominated Count A.

The purpose of this reading of alignment mark 5 before paper 20 isfurther printed upon is to define an effective vertical positiondifference between printer 30 and scanner 32. Even though they aremounted on carrier 33 to have the same effective vertical position, inpractice variations occur. The present reading operation is to define acompensation factor for that difference.

Ideally, this compensation factor can be defined by a single scanthrough the alignment mark 5. Thus, in this ideal situation, the platendrive 26 is indexed until optical scanner 32 passes from white of paperto the dark of mark 5. As indicated, the light-path opening of scanner32 is 30 mils high, almost one half the height of the mark 5. At acertain point, generally several increments after the light-path openingencounters some dark of mark 5, enough light will be blocked that theoptical system will recognize dark. Count A is then completed and storedin alignment control 38. The counter is reset to zero and a new count,Count B, is begun, also of increments of platen drive 26 as paper 20 iscontinued to be moved vertically. At a certain point of scanner 32 beingover white paper on the bottom side of mark 5, the optical system willrecognize light. Count B is then completed and stored in alignmentcontrol 38. (It will be clear that the 30 mil high light-path openingmay respond to mark 5 either to show the mark larger or smaller than itactually is, depending upon the sensitivity of the photoconductorinvolved. This will be the same at both the top and bottom of mark 5 andtherefore will not shift the effective center indicated for mark 5).

In this theoretical situation, including the assumption that scanner 32responds at or an equal distance from the top and the bottom of mark 5,the compensation factor is defined as follows: Count A+1/2 Count B-Upward Increments, the Upward Increments being those of thepredetermined upward shift of the carrier taken immediately after mark 5is printed, denominated ∝ in the flow diagram. Where the compensationfactor is negative, platen 22 must be indexed downward by the number ofsteps of the compensation factor from the position platen 22 was in whenthe line to be read was printed. The compensation factor is the productof a recognition that a line printed with the platen 22 at one positionpossibly must be scanned, for center scanning, with the platen 22 at asomewhat different position.

In the actual preferred implementation, for reasons not essentiallyrelated to this invention, the circuits responding to scanner 32 are nothighly reliable at the initial transistion from white to dark. For thatreason the preferred implementation is somewhat more complicated thanthe ideal discussed, as is discussed below and shown in the FIG. 3 flowdiagram.

The upward increments and the Count A and Count B are as described. Thesum of Count A and Count B is recognized as accurate only as definingthe total increments from the start to the lower edge of mark 5 as it isresponded to by scanner 32. When the lower edge of mark 5 is sensed andCount B terminated, the platen drive 26 is reversed. The total of CountB is stored in alignment control 38. The counter is reset to zero and anew count, Count C, is begun, also of increments of platen drive 26, butpaper 20 is moved downward.

At a certain location of scanner 32 over white paper on the top side ofmark 5, the optical system will recognize light. Count C is thencompleted and stored in alignment control 38. The compensation factor isdefined as follows: Count A+Count B-1/2 Count C-Upward Increments. Thisfactor is computed and stored by alignment control 38. As with thetheoretical formula, where the compensation factor is negative, platen22 is to be indexed downward (reversed) by the number of steps of thecompensation factor from the position platen 22 was in when the line tobe read was printed. When the factor is positive, platen 22 is to beindexed upward (forward).

The compensation factor is then used in the reading for error checkwhile paper 20 remains in the machine after bar code 3 is printed. Whena line of bar code 3 is printed, the line is immediately read by scanner32 and compared with the corresponding part of text memory 42 forerrors. Prior to each such reading, platen 22 is indexed by thecompensation factor, so that the line of bar code 3 is traversed withscanner 32 centered on bar code 3. After such reading, when the platen22 is indexed to print a new line, indexing in the opposite sense to theprevious compensation factor is included.

Reference to the flow diagram of FIG. 3 shows that the automaticoperation is halted if Count A becomes greater than 48, if Count Bbecomes greater than 12, or if Count C becomes greater than 12. Suchincrements indicate total distances so much greater than the dimensionsinvolved that the system is established as not operating for the purposeintended.

Reading Coded Page

Regardless of whether the compensating factor for error check justdescribed is practiced, the alignment mark 5, printed as part of theprinting of bar code 3, functions as a basic element in reading of barcode 3. FIG. 1 illustrates a typical page carrying printing of severallines of the bar code 3, with an alignment mark 5 at the top.

For reading, the operator manually steps the platen 22, by use of aplaten forward key or control 56 and a platen reverse key or control 58,to bring the carrier 33 above the mark 5. Any vertical displacement ofoptical scanner 32 less than 192 increments is satisfactory, but, aswill be described in connection with the flow diagram of FIG. 4, thesystem is designed to recognize a longer displacement as an errorcondition. The dotted cross 60 in FIG. 1 indicates a point properly andsufficiently above mark 5.

The operator then manually operates the read bar code key 54. Furtheroperation is automatic under control of alignment control 38. The firstaction is the centering of scanner 32 over mark 5. Control 38 directsmovement of carrier drive 34 through carrier control 36 to a pointspaced the predetermined amount from the left margin of paper 20 atwhich the nominal or approximate center of mark 5 will appear. Thisautomatic sequence is shown as the first operation in the flow diagramin FIG. 4. (Alignment mark 5 is two inches wide, which is more thanenough to provide for imprecision in the actual system. Typically, analignment mark four times as wide as the 68.5 mil height would functionadequately.)

After centering, the counter is set to zero, prior to the generation ofCount A. Scanner 32 is moved effectively downward by platen drive 26moving paper 20 on platen 22 forward under control of platen steppingcontrol 28. Scanner 32 is read and the counter incremented until thescanner 32 senses the transition from light to dark. Count A is thencompleted and stored in alignment control 38. The counter is reset tozero and a new count, Count B, is begun, also of increments of platendrive 26 as paper 20 is continued to be moved upward. At a certain pointof scanner 32 being over white paper on the bottom side of mark 5, theoptical system will recognize light. Count B is then completed andstored in alignment control 38.

As discussed more fully in the foregoing treatment of the printing ofbar code, optical scanner 32 has an effective opening 30 mils high.Thus, the response to mark 5 may show the mark larger or smaller than itactually is, depending upon the sensitivity of the photoconductorinvolved. The center of mark 5 will be accurately indicated.

In the actual preferred implementation, for reasons not essentiallyrelated to this invention, the circuits responding to scanner 32 are nothighly reliable at the initial transition from white to dark. For thatreason, a third count, Count C, is made. The counter is reset to zeroand paper 20 is moved downward by increments through platen drive 26.The increments step the counter to accumulate Count C.

At a certain location of scanner 32 over white paper on the top side ofmark 5, the optical system will recognize light. Count C is thencompleted and stored in alignment control 38. One half of Count C is thecalculated. Carrier 33 is moved that value plus 16 increments of platendrive 26 and reading of bar code is begun.

The value 16 is that of the pre-established displacement between thecenter of the alignment mark 5 and the first line of bar code 3. Thefactor 1/2 Count C locates the center of mark 5. In a generalizedformula, the factor 16 is replaced by the number of increments which thecenter of bar code is spaced vertically from the center of the alignmentmark on the paper to be read.

Reference to the flow diagram of FIG. 4 shows that the automaticoperation is halted if Count A becomes greater than 192, if Count Bbecomes greater than 12, or if Count C becomes greater than 12. Suchincrements indicate total distances so much greater than the dimensionwhich should exist that the system is halted as not propertly.

What is claimed is:
 1. The method of recording information using aprinter capable of printing both bar code information having separatedbars and a closed alignment symbol extending in length at least thewidth of several of said bars comprising the steps of printing saidclosed symbol with said printer, spacing said printer relative to saidclosed symbol printed, and printing bar code information with saidprinter wherein the improvement comprises scanning for the closed symbolprinted after it is printed with a scanner which is mounted for movementwith the printer to determine the location of an edge of said symbol,then determining a correction factor defining the difference between thelocation of printing by said printer and the location of scanning bysaid scanner, then printing bar code information with said printer, thenpositioning the scanner generally near the center of said printed barcode by use of said correction factor and reading said bar code withsaid scanner.
 2. The method as in claim 1 in which said bars are nohigher than a first height and said closed symbol is a rectangle ofheight of the order of magnitude of said first height and of widthsubstantially greater than said height.
 3. The method as in claim 2 inwhich said scanning of the closed symbol includes a first measurement ofdistance from a known starting position to a point when said scannersignals a transition between said closed symbol and background.
 4. Themethod as in claim 3 in which said correction factor is computed bytaking a difference of movement of the starting point perpendicular tothe long dimension of said symbol to the distance to the center of saidsymbol as at least partially located by said transition.
 5. The methodas in claim 4 in which said scanning also includes a measurement of thedistance between transition from said closed symbol to background on theside of said symbol opposite the side from which the initial transitionis observed and said two transition are used to find the center of saidsymbol.
 6. The method as in claim 2 in which said bars are of generallyequal height, said width of said rectangle is at least four times saidheight, and the width of said code is positioned in parallel with thewidth of said closed symbol.
 7. The method as in claim 3 in which saidbar are of generally equal height, said width of said rectangle is atleast four times said height, and the width of said code is positionedin parallel with the width of said closed symbol.
 8. The method as inclaim 4 in which said bars are of generally equal height, said width ofsaid rectangle is at least four times said height, and the width of saidcode is positioned in parallel with the width of said closed symbol. 9.The method as in claim 5 in which said bars are of generally equalheight, said width of said rectangle is at least four times said height,and the width of said code is positioned in parallel with the width ofsaid closed symbol.
 10. The printer system to record bar codeinformation in a line with a closed alignment mark in a parallel line,with the printer being relatively moveable along said line, and beingrelatively moveable perpendicular to said line by increments ofpredefined length, with means to cause said printer to print saidalignment mark and said bar code, and having a scanner mounted formovement with said printer for reading said bar code and observingtransitions from light to dark in said alignment mark, wherein theimprovement comprises means to move said scanner a known number of saidincrements and over said alignment mark after said printer prints saidalignment mark, means to move said scanner toward said mark by saidincrements while counting said increments until said scanner signals atransition between said mark and background, and means to position saidscanner during subsequent reading of code printed by said printer to aposition toward the center of said code an amount defined by thedifference between the said known number of increments and the center ofsaid symbol as at least partially located by said transition.
 11. Theprinter system as in claim 10 also comprising means to scanperpendicular to said mark after said transition between said mark andbackground and to count said increments of movement to the nexttransition between said mark and background, and means employing onehalf of the count to said next transition as defining the center of saidsymbol.